	const imageErr=(e)=>{
		
	}
	var title = {
		m1:'将当前单据打印操作',
		m2:'将当前单据发送至仓库拣货',
		m3:'将当前草稿单内的所有单据打印',
		m4:'将当前草稿单内的所有单据发送至仓库拣货',
		m5:'新建一张空白单据进行下单，与此之前的单据将会区分开来',
		m6:'进行单据对账',
		m7:'财务人员专属，收到客户款项后在此输入款数目即可',
		m8:"锁定订单后其他账号无法进行修改删除,特定权限除外",
		m9:"将当前单据原封不动退回修改",
		m10:'财务人员专属，将当前单据【过账】后所有人将无法修改此单据的任何内容',
		m11:"刷新当前单据数据",
		m12:"打开单据进行预览",
		m13:"将当前单据进行整单删除！过账后的单据不能删除！",
		m14:"无法修改价格",
		m15:"-已盘点",
		m16:"此单据含有退货",
		m17:"此单据含有低利润商品",
		m18:"通过此处下单的不会发送至仓库拣货，默认已拣货",
		m19:"不影响二次出售的商品选择此项；商品的库存会增加",
		m20:"影响二次出售的商品选择此项；商品的库存不会增加",
		m21:'当前单据下商品已拣货完毕',
		m211:'当前单据是用户自助增加草稿单，但未确定下单的支付的。无法进行拣货操作',
		m22:'当前单据下商品正在拣货中',
		m23:'当前单据下商品已验货完毕',
		m24:'当前单据下商品正在验货中',
		m26:'此库存未盘点，数量无法确定',
		m27:'查看、修改此客户的相关备忘录，例如：此客户之前的做过的活动套餐内容',
		m28:"点击进行编辑修改",
		m29:"此订单为商城用户自行下单的单据",
		m29_1:"此订单为后台系统或业务员代下的单据",
		m30:"当此商品设置为积分商品时;可用此积分数量进行兑换",
		m31:"常用于区分用户、商品类型关联限制，慎重选择;",
		m32:"设置价格分组后，需要在商品中设置相对应的价格分组的价格，当此用户在商城下单购买、浏览相对应的商品时，价格会变成相对应的价格分组价格;",
		m33:"去除退货金额后的销售额",
		m34:"查询剔除某些商品后的销售额",
		m35:"用户下单购买的时候赠送的积分数量",
		m36:"此商品含有限制销售的客户",
		m37:"退属于好的货返回厂家，将会实时从库存中扣减数量",
		m38:"退属于坏的货返回厂家，不会从库存中扣减数量",
		m39:"此回款有被修改的记录，点击查看详细",
		m40:"商品的销售总数，成功销售一次即累计一次。产生退货的扣减。",
		m41:"说明：库存低于安全线	\n操作建议：立即补货红色数字的量",
		m42:"说明：库存充足但有商机	\n操作建议：根据计划补蓝色数字的量",
		m43:"说明：库存充足无风险		\n操作建议：无需操作",
		m44:"说明：确保仓库至少有最低库存量，不断货",
		m45:"说明：根据销售预测，建议额外补货抓住商机",
		m46:"需要连接云打印机的电脑有外置扬声器方可正常语音播报",
	}
	/**
	 * 保存当前选中的数据至本地缓存
	* @param {string} key :
	* @param {object} data :
	 */
	const setStorageRoute = (key,data)=>{
		uni.setStorage({
			key: key,
			data: data,
			success: function () {
			}
		});
	}

	/**
	 * 读取指定本地缓存
	 */
	const getStorageRoute = (key)=>{
		return uni.getStorageSync(key);
	}

	

	/**
	 * 移动数组元素位置
	 * @param {Array} arr - 要处理的对象数组，格式如：[{"id":"1"},{"id":"2"}]
	 * @param {string|number} id - 要移动元素的id值
	 * @param {string} type - 移动方向，可选值：left(向左移动)、right(向右移动)
	 * @returns {Array} - 返回处理后的新数组
	 */
	const moveElementPosition=(arr, id, type)=>{
	    // 创建数组副本避免修改原数组
	    const newArr = [...arr];
	    
	    // 查找目标元素的索引
	    const targetIndex = newArr.findIndex(item => item.id === id);
	    
	    // 找不到元素或无需移动时直接返回
	    if (targetIndex === -1) return newArr;
	    if (type === 'left' && targetIndex === 0) return newArr;
	    if (type === 'right' && targetIndex === newArr.length - 1) return newArr;
	    
	    // 计算交换位置
	    const swapIndex = type === 'left' ? targetIndex - 1 : targetIndex + 1;
	    
	    // 执行元素交换
	    [newArr[targetIndex], newArr[swapIndex]] = [newArr[swapIndex], newArr[targetIndex]];
	    
	    return newArr;
	}
	
	export const global= { 
		imageErr,
		getStorageRoute,
		setStorageRoute,
		title,moveElementPosition,
	}